/**
 * This program is free software, you can redistribute it and/or modify.
 * Copyright (c) 2025 Huawei Technologies Co., Ltd.
 * This file is a part of the CANN Open Software.
 * Licensed under CANN Open Software License Agreement Version 2.0 (the "License").
 * Please refer to the License for details. You may not use this file except in compliance with the License.
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
 * See LICENSE in the root of the software repository for the full text of the License.
 * The current tilingkey/tilingdata will be revised to a template parameter in October 2025
 */

/*!
 * \file fused_infer_attention_score_tilingkey.h
 * \brief
 */
#pragma once

#define PFA_FlAG_TILING 1000000000000000000
#define FIA_FLAG_TILING 100000000000000000
#define FAI_FLAG_TILING 5000000000000000000

// MLA FP16 PA KVNZ
#define QF16_KVF16_OUTF16_BSH_KVNZ_PAGEDCACHE_MLA_TILING 105000000020200001
#define QF16_KVF16_OUTF16_BSH_KVNZ_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000020300001
#define QF16_KVF16_OUTF16_TND_KVNZ_PAGEDCACHE_MLA_TILING 105000000020200002
#define QF16_KVF16_OUTF16_TND_KVNZ_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000020300002
// MLA FP16 PA KVBNSD
#define QF16_KVF16_OUTF16_BNSD_KVBNSD_PAGEDCACHE_MLA_TILING 105000000000200000
#define QF16_KVF16_OUTF16_BNSD_KVBNSD_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000000300000
#define QF16_KVF16_OUTF16_TND_KVBNSD_PAGEDCACHE_MLA_TILING 105000000000200002
#define QF16_KVF16_OUTF16_TND_KVBNSD_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000000300002
// MLA FP16 PA KVBSH
#define QF16_KVF16_OUTF16_BNSD_KVBSH_PAGEDCACHE_MLA_TILING 105000000010200000
#define QF16_KVF16_OUTF16_BNSD_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010300000
#define QF16_KVF16_OUTF16_BSH_KVBSH_PAGEDCACHE_MLA_TILING 105000000010200001
#define QF16_KVF16_OUTF16_BSH_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010300001
#define QF16_KVF16_OUTF16_TND_KVBSH_PAGEDCACHE_MLA_TILING 105000000010200002
#define QF16_KVF16_OUTF16_TND_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010300002
// MLA FP16 NonPA BNSD
#define QF16_KVF16_OUTF16_BNSD_KVBNSD_MLA_TILING 105000000000000000
// MLA FP16 NonPA BSH
#define QF16_KVF16_OUTF16_BSH_KVBSH_MLA_TILING 105000000010000001
#define QF16_KVF16_OUTF16_BSH_KVBSH_FLASHDECODING_MLA_TILING 105000000010100001

// MLA BF16 PA KVNZ
#define QBF16_KVBF16_OUTBF16_BSH_KVNZ_PAGEDCACHE_MLA_TILING 105000000020222221
#define QBF16_KVBF16_OUTBF16_BSH_KVNZ_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000020322221
#define QBF16_KVBF16_OUTBF16_TND_KVNZ_PAGEDCACHE_MLA_TILING 105000000020222222
#define QBF16_KVBF16_OUTBF16_TND_KVNZ_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000020322222
// MLA BF16 PA KVBNSD
#define QBF16_KVBF16_OUTBF16_BNSD_KVBNSD_PAGEDCACHE_MLA_TILING 105000000000222220
#define QBF16_KVBF16_OUTBF16_BNSD_KVBNSD_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000000322220
#define QBF16_KVBF16_OUTBF16_TND_KVBNSD_PAGEDCACHE_MLA_TILING 105000000000222222
#define QBF16_KVBF16_OUTBF16_TND_KVBNSD_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000000322222
// MLA BF16 PA KVBSH
#define QBF16_KVBF16_OUTBF16_BNSD_KVBSH_PAGEDCACHE_MLA_TILING 105000000010222220
#define QBF16_KVBF16_OUTBF16_BNSD_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010322220
#define QBF16_KVBF16_OUTBF16_BSH_KVBSH_PAGEDCACHE_MLA_TILING 105000000010222221
#define QBF16_KVBF16_OUTBF16_BSH_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010322221
#define QBF16_KVBF16_OUTBF16_TND_KVBSH_PAGEDCACHE_MLA_TILING 105000000010222222
#define QBF16_KVBF16_OUTBF16_TND_KVBSH_PAGEDCACHE_FLASHDECODING_MLA_TILING 105000000010322222
// MLA BF16 NonPA BNSD
#define QBF16_KVBF16_OUTBF16_BNSD_KVBNSD_MLA_TILING 105000000000022220
// MLA BF16 NonPA BSH
#define QBF16_KVBF16_OUTBF16_BSH_KVBSH_MLA_TILING 105000000010022221
#define QBF16_KVBF16_OUTBF16_BSH_KVBSH_FLASHDECODING_MLA_TILING 105000000010122221
